Introduce cut/copy/paste support - #18
Merged
Merged
Conversation
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Merged
1 task
Anthony-Eid
pushed a commit
to Anthony-Eid/zed
that referenced
this pull request
Aug 15, 2024
* Only terminate thread if it did not already end * Remove debug client when its terminated
1 task
m-bers
pushed a commit
to m-bers/zed
that referenced
this pull request
Apr 19, 2026
Sipaha
added a commit
to Sipaha/spk-editor
that referenced
this pull request
May 19, 2026
…ask zed-industries#18) Replaces the inline-base64 image flow with proper chunked upload. Wire is binary WebSocket frames (no JSON, no base64). 16-byte header (u64 upload_id + u64 offset, BE) prefixes each chunk's raw bytes. Server buffers chunks in tmp files keyed by server-generated u64 id; 1h TTL GC. send_message_blocks resolves spk-upload://<id> ResourceLinks into acp::ContentBlock::Image just before forwarding to ACP, so the agent sees the same Image block as today. Mobile starts upload the moment a file is picked; UI shows per-attachment progress; Send is gated until all uploads complete. Reconnect resume via upload_status; force-kill resume via per-server EncryptedSharedPreferences. WS cap dials back from 32 MiB (zed-industries#15 hotfix) to 1 MiB once chunked lands.
Sipaha
added a commit
to Sipaha/spk-editor
that referenced
this pull request
May 19, 2026
- plan doc ticked for zed-industries#18 (chunked upload) + final 6 commit SHAs appended - INDEX.md: 3 new rows (chunked upload, cold-session wake, morning fixes) - one note added re. inverted dep direction (BinaryFrameHandler indirection vs original sketch's solution_agent dep, which would have feature-unified a second rustls CryptoProvider and broken the TLS handshake)
ShalashaskaOcelot
pushed a commit
to ShalashaskaOcelot/zed
that referenced
this pull request
Jul 13, 2026
Archive phases 13 (toolbar/gutter), 14 (save-conflict + reload), 15 (counter reset + clear outputs), and 16 (DataFrame tables) — all user-confirmed 2026-07-11. Plan the next phases from testing feedback: - Phase 17: execution status & queue correctness (pending vs running, per-cell timing that no longer inherits a long cell's wait, Run All status/tick reset, restart/interrupt cancellation, shift-enter-no-kernel skip). - Phase 18: move execution status/time into the cell (VS Code style) + finish centering the gutter run button. - Phase 19: configurable post-run landing mode (command/edit/remember). File bugs zed-industries#18 (executing doesn't mark dirty, so external save auto-reloads and discards runs) and zed-industries#19 (reload doesn't clear the conflict toast). Add backlog items for multi-select cells, a live elapsed-time counter, and further table polish. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014eseBDGa7au9r2VxBHeh9X
ShalashaskaOcelot
pushed a commit
to ShalashaskaOcelot/zed
that referenced
this pull request
Jul 13, 2026
An executed-but-unedited notebook reported itself clean, so an external save silently auto-reloaded and discarded the run results (outputs + execution counts), even though that state differs from disk and is savable. Track it with an execution_state_changed flag OR'd into Item::is_dirty. The flag is set when a run is submitted or queued, when kernel output/count messages are routed to a cell, on clear-cell/all-outputs, and on the restart counter reset; it clears on save (mark_as_saved) and on reload. External changes now surface the conflict toast instead of silently reloading over an executed notebook, and the tab dirty indicator reflects execution state. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014eseBDGa7au9r2VxBHeh9X
ShalashaskaOcelot
pushed a commit
to ShalashaskaOcelot/zed
that referenced
this pull request
Jul 13, 2026
follow-through) Two defects found in self-review of the bug zed-industries#18 fix, both in the save-while-a-cell-is-running scenario: - The dirty flag was set for EVERY kernel message routed to a cell, including Status busy/idle broadcasts that change no savable content, so a save during a run was immediately re-dirtied for no reason. Only content-bearing messages (stream/display data/result/input/error) set it now. - After our own save, an output arriving before the file watcher delivered the Reloaded event made the notebook look dirty again, so handle_external_change treated our own write as an external conflict and raised the toast. A new last_saved_disk_text field records exactly what we last wrote (or loaded/reloaded), and the external-change handler recognizes our own save by comparing against it before the dirty check. Recorded on open, save, save_as, reload, and external auto-reload. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014eseBDGa7au9r2VxBHeh9X
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
Introduce cut/copy/paste support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request adds support for cutting, copying and pasting text. When cutting/copying from Zed, we will capture additional metadata to allow for a smarter paste behavior when copying full lines or pasting into multiple selections. This should be on-par with Atom and VS Code behavior-wise.